// 容器组件
// 引入count的UI组件
import CountUI from '../../components/Count'

import  {createIncrementAction,createDecrementAction,createIncrementAsyncAction} from '../../redux/count_action'
// 引入connect 用于连接UI组件和redux
import {connect} from 'react-redux'
/* mapStateToProps函数返回的是一个对象，用于传递状态
// 返回的对象中的key就作为传递给UI组件props的key，value就作为传递给UI组件props的value  ----状态
*/
function mapStateToProps(state){
  return {count:state}
}
// 方法
/**
 * mapDispatchToProps函数返回的是一个对象，用于传递操作状态的方法
 * 返回的对象中的key就作为传递给UI组件props的key，value就作为传递给UI组件props的value  ----方法
 */
function mapDispatchToProps(dispatch){
   return {
        jia:(value)=>{
        //  通知redux执行加法
        dispatch(createIncrementAction(value))
    },
    jian:(value)=>{
      dispatch(createDecrementAction(value))
    },
    jiaAsync:(value,time)=>{
       dispatch(createIncrementAsyncAction(value,time))
    }
  
  }
}


// 创建并暴露一个Count的容器组件
export default connect(mapStateToProps,mapDispatchToProps)(CountUI)